// 使用class关键字来定义一个类
/**
 * 
 * 对象中主要包含了两个部分
 *    属性
 *    方法
 */
class Person{
    // 定义实例属性，需要用实例化对象才可以调用,可以被修改
    name:string = "周冬雨"

    //在属性前使用static关键字可以定义类属性（静态属性），直接用类就可以调用，可以被修改
    static age:number  = 23

    // readonly修饰的实例属性，不可以可以被修改
    readonly sex:string = "女"

    static readonly  heavy:number = 60

    SetJump(){
        console.log('实例化的跳')
    }

    static SetStaticJump(){
        console.log('类的跳')
    }

}
const per  = new Person()
console.log(per);
console.log(per.name);
per.name = "刘德华" //修改实例属性
console.log(per.name)

// per.sex = 22 无法分配到 "sex" ，因为它是只读属性。


console.log(Person.age);
Person.age = 99
console.log(Person.age);

console.log(Person.heavy);
// Person.heavy = 70 无法分配到 "heavy" ，因为它是只读属性

console.log(per.SetJump);

console.log(Person.SetStaticJump);



